/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Dados;

import java.util.ArrayList;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;
import railbee.banco.dto.Servidores;

/**
 *
 * @author jerry
 */
public class ServidorModel extends AbstractTableModel {

     ArrayList<String[]> dados = new ArrayList<String[]>();
     String[] colunas = new String[]{"Estação","IP","Porta"};

     public ServidorModel(ArrayList<String[]> dados){
          setLinhas(dados);
         setColunas(colunas);
     }

   // public ServidorModel(ArrayList<String[]> listaServ) {
   //      setLinhas(dados);
   //      setColunas(colunas);
   // }

       public ArrayList<String[]> getVector() {
        return dados;
    }

    public int getRowCount() {
        if(dados.isEmpty())
            return 0;
        else return dados.size();
    }

     public void add(String[] servidores) {

       for (String servidor: servidores) {
        
           //if(servidor.getEndereco().equals(object.getEndereco())) {
             
               //setValueAt(true, rowIndex, 4);
            
               fireTableDataChanged();

               break;
          // }
        }
    }

      public Object getValueAt(int rowIndex, int columnIndex) {
        if(dados.isEmpty()) {
            return null;
        }
        else {
            String[] valores =  dados.get(rowIndex);

           // switch(columnIndex){
             //   case 0: return valores.getSiglaEstacao();
             //   case 1: return valores.getIpServidor();
             //   case 2: return valores.getPortaServidor();
            return valores[columnIndex];
               // case 3: return true;
            }
        
       
    }

     

    public int getColumnCount() {
        return 3;
    }

    
    @Override
    public boolean isCellEditable(int row, int column) {
        return true;
    }

  
    public void setValue(Object value, int row, int col){
      String[] valores = dados.get(row);
      System.out.println("row->"+row+", col->"+col);
           // switch(col){
            //    case 0: valores.setSiglaEstacao((String) value);
             //   case 1: valores.setIpServidor((String) value);
             //   case 2: valores.setPortaServidor((Integer)value);
             //   dados.add(row, valores);
               // case 3: return true;
           // }
      valores[col] = (String) value;
      fireTableCellUpdated(row, col);
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case 0:
                return "Estação";
            case 1:
                return "IP";
            case 2:
                return "Porta";

        }
        return "";
    }

    public void setColunas(String[] strings) {
        colunas = strings;
    }

    public void setLinhas(ArrayList list) {
      dados = list;
    }

   
}
